package com.sls.game.dao;

import java.util.List;

import com.sls.game.page.Pagination;
import com.sls.game.pojo.GoodsSupplyManageInfo;

/**
 * 
 * @description 商品供应表操作
 * @author Wangxuegang
 * @date 2012-9-18
 * 
 */
public interface GoodsSupplyManageDAO {

	/**
	 * 分页查询
	 * 
	 * @param goodsSupplyManageInfo
	 * @return
	 */
	public Pagination<GoodsSupplyManageInfo> queryPaginationList(
			GoodsSupplyManageInfo info);

	/**
	 * 根据产品Id，查询进价最低的记录
	 * 
	 * @param goodsId
	 * @return
	 */
	public List<GoodsSupplyManageInfo> queryMininunPrice(
			GoodsSupplyManageInfo goodsSupplyManageInfo);

	/**
	 * 商品插入
	 * 
	 * @param goodsId
	 */
	public void insert(GoodsSupplyManageInfo goodsSupplyManageInfo);

	/**
	 * 根据原始商品Id和供应商Id，查询单条记录
	 * 
	 * @param goodsSupplyManageInfo
	 * @return
	 */
	public GoodsSupplyManageInfo queryByGoodsIdAndSupplyId(
			GoodsSupplyManageInfo goodsSupplyManageInfo);

	/**
	 * 商品更新
	 * 
	 * @param goodsId
	 */
	public void update(GoodsSupplyManageInfo goodsSupplyManageInfo);

	/**
	 * 批量商品状态修改
	 * 
	 * @param goodsSupplyManageInfo
	 */
	public void updateState(GoodsSupplyManageInfo goodsSupplyManageInfo);

	/**
	 * 单条商品状态修改
	 * 
	 * @param goodsSupplyManageInfo
	 */
	public void updateState2(GoodsSupplyManageInfo goodsSupplyManageInfo);

	/**
	 * 根据商品编号，查询该商品最高进价
	 * 
	 * @param goodsSupplyManageInfo
	 * @return
	 */
	public String queryHighInPrice(GoodsSupplyManageInfo goodsSupplyManageInfo);

	/**
	 * 根据手拉手商品Id，查询符合条件的记录
	 * 
	 * @param goodsSupplyManageInfo
	 * @return
	 */
	public List<GoodsSupplyManageInfo> queryByGoodsId(
			GoodsSupplyManageInfo goodsSupplyManageInfo);

	/**
	 * 通过原始商品id查询
	 * 
	 * @param originalGoodsId
	 * @return
	 */
	public GoodsSupplyManageInfo queryByOriginalGoodsId(String originalGoodsId);

	/**
	 * 根据平台商品编号和供应商Id--查询原始商品编号
	 * 
	 * @param info
	 * @return
	 */
	public GoodsSupplyManageInfo queryGoodsSupplyInfo(GoodsSupplyManageInfo info);

	/**
	 * 查询供应商名称列表
	 * 
	 * @return
	 */
	public List<String> querySupplyNameList(String goodsStatus);

	public void updateByGoodsId(GoodsSupplyManageInfo info);

	public void updateByBrandId(GoodsSupplyManageInfo info);

}
